package com.penghaisoft.microwms.base.web.data.controller;


import com.penghaisoft.microwms.base.web.data.service.IMdDockService;
import com.penghaisoft.microwms.common.controller.BaseController;
import com.penghaisoft.microwms.common.data.model.MdDock;
import com.penghaisoft.microwms.common.dto.Resp;
import com.penghaisoft.microwms.common.dto.TransResult;
import com.penghaisoft.microwms.common.page.Pager;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @Description 月台管理
 * @author gaofeng
 * @date 2017年5月24日 下午1:49:09 
 * @version 1.0
 */
@RestController
@RequestMapping(value = "/data/dock")
@Slf4j
public class MdDockController extends BaseController {
	
		@Autowired
		private IMdDockService mdDockService;

		/** 
		 * @Title create
		 * @Description 新增记录
		 * @author gaofeng
		 * @date 2017年5月24日 下午1:49:28
		 * @param mdDock
		 * @return TransResult
		 */
		@PostMapping("c")
		public TransResult create(MdDock mdDock) {
			mdDock.preInsert();
			Resp resp = new Resp();
			mdDock.setFactoryCode(getCurrentFactoryCode());
			MdDock  tmp= mdDockService.findByCode(mdDock);
			if(tmp == null){
				resp =  mdDockService.create(mdDock);
			} else {
				//resp.setCode("0");
				resp.setMsg("base.data.dock.conflict");
			}
			return fromResp(resp);
		}

		/** 
		 * @Title delete
		 * @Description 删除记录（逻辑删除active_flag=0)
		 * @author gaofeng
		 * @date 2017年5月24日 下午1:49:46
		 * @param mdDock
		 * @return TransResult
		 */
		@PostMapping("d")
		public TransResult delete(MdDock mdDock) {
			mdDock.preUpdate();
			Resp resp =  mdDockService.delete(mdDock);
			return fromResp(resp);
		}

		/** 
		 * @Title list
		 * @Description 查询列表
		 * @author gaofeng
		 * @date 2017年5月24日 下午1:50:10
		 * @param page
		 * @param rows
		 * @param mdDock
		 * @return TransResult
		 */
		@PostMapping("list")
		public TransResult list(@RequestParam(name = "page", defaultValue = "1") int page,
                                @RequestParam(name = "rows", defaultValue = "10") int rows, MdDock mdDock) {
			mdDock.setFactoryCode(getCurrentFactoryCode());
			Pager<MdDock> result = mdDockService.findListByCondition(page,rows,mdDock);
			return success(result);
		}

		/** 
		 * @Title queryById
		 * @Description 查询单条
		 * @author gaofeng
		 * @date 2017年5月24日 下午1:50:28
		 * @param id
		 * @return TransResult
		 */
		@GetMapping("r/{id}")
		public TransResult queryById(@PathVariable String id) {
			MdDock  mdDock = mdDockService.findById(id);
			return success(mdDock);
		}

		/** 
		 * @Title update
		 * @Description 修改记录
		 * @author gaofeng
		 * @date 2017年5月24日 下午1:50:44
		 * @param mdDock
		 * @return TransResult
		 */
		@PostMapping("u")
		public TransResult update(MdDock mdDock) {
			mdDock.preUpdate();
			mdDock.setFactoryCode(getCurrentFactoryCode());
			Resp resp =  mdDockService.update(mdDock);
	    	return fromResp(resp);
		}

}
